package com.xbongbong.pro.weblist.pojo.dto;

import com.alibaba.fastjson.JSONObject;
import com.xbongbong.paas.toolbox.wrap.BaseDTO;
import com.xbongbong.saas.constant.BasicConstant;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.List;
import java.util.Objects;

/**
 * 访客计划列表入参
 * @author haibin.zhang
 * @version v1.0
 * @date 2019/2/12 10:22
 * @since v1.0
 */
@Getter
@Setter
@ToString
public class CommunicatePlanDTO extends BaseDTO {
    /**
     * saas业务类型
     */
    private Integer businessType;
    /**
     * saas业务类型
     */
    private Integer subBusinessType;
    /**
     * saas标记，1saas，2paas
     */
    private Integer saasMark;
    /**
     * 访客计划筛选
     */
    private Integer status;
    /**
     * 执行时间(用法有区别，有的表示月份，有的表示具体日期)
     */
    private String date;
    /**
     * 执行人员或部门
     */
    private String pid;
    /**
     * 人员或部门
     */
    private String treeType;
    /**
     * 分组
     */
    private Integer listGroupId;
    /**
     * 分页当前页
     */
    private Integer page = 1;
    /**
     * 分页每页记录数
     */
    private Integer pageSize = 20;
    /**
     * 总数
     * 前端不传的
     * 统计有个参数要回一下
     * 拿不到了
     */
    private Integer total;

    /**
     * 客户姓名或联系电话的搜索  v52.0 后去掉
     */
    private String nameLike;

    //关联客户id
    private String customerId;
    /**
     * 列表页范围筛选
     */
    private JSONObject rangeScreen;
    /**
     * 表单id
     */
    private Long formId;
    /**
     * 字段筛选
     */
    private List<String> fieldList = null;
    /**
     *  是否是首页的，首页只返回未跟进和已延期两种状态
     */
    private Integer fromIndex;

    public CommunicatePlanDTO(){
        fromIndex = BasicConstant.ZERO;
    }

    public void setPage(Integer page) {
        if (Objects.isNull(page)){
            return;
        }
        this.page = page;
    }

    public void setPageSize(Integer pageSize) {
        if (Objects.isNull(pageSize)){
            return;
        }
        this.pageSize = pageSize;
    }
}
